package com.vhall.component.entity.rbac.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author longzhen.gong
 * @date 2021/6/10 11:07
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "ActionsVO对象", description = "结果返回")
public class ActionsVO implements Serializable {

    private static final long serialVersionUID = 8153642756754561156L;
    @JsonProperty("action_id")
    private Integer actionId;

    @ApiModelProperty(value = "控制器名称")
    @JsonProperty("controller_name")
    private String controllerName;

    @ApiModelProperty(value = "操作名称")
    @JsonProperty("action_name")
    private String actionName;

    @JsonProperty("action_tag")
    private String actionTag;

    @ApiModelProperty(value = "描述")
    private String desc;

    @ApiModelProperty(value = "父id")
    private Integer pid;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间")
    @JsonProperty("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "删除时间")
    @JsonProperty("deleted_at")
    private LocalDateTime deletedAt;

    private List<ActionsVO> children;

    @ApiModelProperty(value = "类型1-admin操作，2-控制台操作")
    private Byte type;

}
